package servlet.cuota;

import java.io.IOException;
import java.util.Collection;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import condominio.excepcion.DAOExcepcion;
import condominio.modelo.Cuota;
import condominio.modelo.Usuario;
import condominio.negocio.GestionCuotas;


@WebServlet("/CuotaInsertarServlet1")
public class CuotaInsertarServlet1 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    
    public CuotaInsertarServlet1() {
        super();
        
    }

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		HttpSession session = request.getSession();
				Usuario vo = (Usuario)session.getAttribute("USUARIO_ACTUAL");
				
				if (vo ==null){
					RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
					rd.forward(request, response);
					return;
				}
				 
				
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		Integer idVivienda = Integer.parseInt(request.getParameter("txtCondominio"));
		String periodo = request.getParameter("txtPeriodo");
		Double importe = Double.parseDouble(request.getParameter("txtImporte"));
		String fechaVencimiento= request.getParameter("txtFechaVencimiento");
		
		GestionCuotas negocio = new GestionCuotas();
		Collection<Cuota> lista;
		 
			
		try {
			Boolean periodoDuplicado = false;
			lista = negocio.listar();
			for(Cuota i:lista){
				if (i.getPeriodo().equals(periodo)&&i.getVivienda().getIdVivienda()==idVivienda){
					periodoDuplicado = true;
							break;
				}
			}
			
			
			
			if (!periodoDuplicado){
				negocio.insertar(idVivienda, periodo, importe, fechaVencimiento);	
			}
			request.setAttribute("periodoDuplicado",periodoDuplicado);
			RequestDispatcher rd = request.getRequestDispatcher("ColocacionCuotas.jsp");
			rd.forward(request, response);
			//response.sendRedirect(request.getContextPath()	+ "/CuotasNuevo");
		} catch (DAOExcepcion e) {
			RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
			rd.forward(request, response);
		}
		
	}

}
